It is known to author or generate animation for one or more virtual objects (also termed “characters”) that are located in a virtual environment (or virtual world), such as a three dimensional virtual environment of a video game or of a visual effects tool. The characters can consist of a hierarchy of joints, or a “rig”, that form a skeleton. A skin or mesh may be overlaid (or rendered) on top of the rig to thereby visually represent the character. By updating the location and orientation of the joints (i.e. changing the geometric configuration of the rig), the posture of the character and the position of the character within the virtual world may be updated, i.e. the character may be animated.
One known technique used in the animation of characters is inverse kinematics (IK) animation. This involves: (a) specifying desired target locations and/or orientations for one or more joints of the rig; (b) performing an inverse kinematics operation that determines angles/orientations for the joints of the rig in order to achieve those target locations and/or orientations (e.g. given a target location at which it is desired for a simulated human character to place a foot, the inverse kinematics animation then determines the angles/orientations for the joints of the rig for that character in order to try to achieve a posture for the character such that the foot is then placed at the target location); and (c) setting the angles/orientations for the joints of the rig to the determined angles/orientations.